/*
 * semaphore.h
 * projet Unix: 6 qui prend
 *
 *  @authors Doublier Sami
 *  @authors Pingot Alexandre
 */

#if !defined (_SEMAPHORE_H_)
#define _SEMAPHORE_H_

#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>

#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/sem.h>

#define DB	1	/* protège la mémoire partagée */
#define MUTEX	2	/* protège le compteur de processus lecteurs */

/*
 * prend en paramètre un identifiant unique pour le semaphore et un nombre d'entité a créer
 * et initialise un semaphore.
 */
extern int semInit(key_t key, int size);

/*
 * prend en paramètre un semaphore initialisé par semInit
 * et incremente le semaphore num
 */
extern void semUp(int semid, int num);

/*
 * prend en paramètre un semaphore initialise par semInit
 * et decremente le semaphore num
 */
extern void semDown(int semid, int num);


#endif
